<?php

class ProductionReservation{
  
  public static function checkEngaged($id){
    $engagedQuantity = 0;
    // znajdź konstrukcje, które są dodane do systemu, ale nie są jeszcze produkowane
    // status 0 -> ProductionConstruction.class.php
    $constructions = Doctrine_Query::create()
        ->select("pc.*")
        ->from("ProductionConstruction pc")
        ->where("pc.status_id = ?", 0)
        ->execute();
    if($constructions instanceof Doctrine_Collection){
      if($constructions->count() > 0){
        foreach($constructions as $construction){
          // pobierz zapotrzebowanie na konstrukcje
          $demand = $construction->getProductionDemand();
          $items = $demand->getDemandItems();
          foreach($items as $demandItem){
            // sprawdź czy w zapotrzebowaniu występuje $id
            if($demandItem->getId() == $id){
              $engagedQuantity += $demandItem->getValue();
            }
          }
        }
      }
      return $engagedQuantity;
    }
  }
}